package com.company.aicrawlers.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 任务汇总表（模块1）
 *
 * @author AI Crawlers Team
 * @date 2025-10-11
 */
@Data
@TableName("analysis_task_summary")
public class AnalysisTaskSummary {

    /**
     * 汇总ID
     */
    @TableId(type = IdType.AUTO)
    private Long summaryId;

    /**
     * 分析ID
     */
    private Long analysisId;

    /**
     * 采集任务ID
     */
    private Long collectTaskId;

    /**
     * 问句总数
     */
    private Integer totalQuestions;

    /**
     * 平台总数
     */
    private Integer totalPlatforms;

    /**
     * 采集结果总数
     */
    private Integer totalResults;

    /**
     * 识别商品总数（去重）
     */
    private Integer totalProducts;

    /**
     * 我方产品数量
     */
    private Integer ourProductCount;

    /**
     * 我方产品被推荐次数
     */
    private Integer ourProductMentions;

    /**
     * 我方产品覆盖率（%）
     */
    private BigDecimal ourProductCoverageRate;

    /**
     * 我方产品平均排名
     */
    private BigDecimal ourProductAvgRanking;

    /**
     * 平台分布（JSON）
     * 格式：{"deepseek":{"count":18,"rate":40.0},"yuanbao":{"count":15,"rate":33.3}}
     */
    private String ourProductPlatformDistribution;

    /**
     * 竞品数量
     */
    private Integer competitorCount;

    /**
     * 竞品被推荐次数
     */
    private Integer competitorMentions;

    /**
     * Top5竞品（JSON）
     * 格式：[{"productId":20,"productName":"华为Mate 60 Pro","count":52}]
     */
    private String topCompetitors;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}

